package main

import (
	maker2 "api/libs/maker"
	"gitee.com/dreamwood/ez-maker/maker"
)

func main() {
	maker2.Prepare()
	AppHost()
	AppRoute()
	GateWay()
	Starter()
}

func AppHost() {
	c := maker.CreateTable("AppHost", "程序", "ctl")
	c.AddText("appId", "APPID")
	c.AddName()
	//负载均衡
	c.AddText("lbName", "负载名称")
	c.AddInt("lbWeight", "负载权重")

	c.AddText("host", "Host")
	c.AddText("port", "Port")

	//可选
	c.AddBool("isOn", "启用")
	c.AddBool("isLocal", "是否本地")
	c.AddBool("isWeb", "Web服务")
	c.AddBool("isAutoRun", "自启动")
	c.AddText("starter", "启动程序").SetSrc("这个只是用来看的")
	c.AddText("params", "启动参数")
	c.AddInt("pid", "运行PID")
	//健康信息
	c.AddState()                   //0下线，1在线
	c.AddText("stateInfo", "健康信息") //
	c.AddDateTime("lastHeartBeatAt", "上次心跳")

	c.Generate()
}

func AppRoute() {
	c := maker.CreateTable("AppRoute", "路由", "ctl")
	c.AddText("appId", "APPID")
	c.AddName()
	c.AddText("port", "Port")
	c.AddText("from", "匹配规则")
	c.AddText("to", "目的地")
	c.AddSort()
	c.AddBool("isOn", "启用")

	c.Generate()
}

func GateWay() {
	c := maker.CreateTable("GateWay", "接口网关", "ctl")
	c.AddName()
	c.AddText("host", "Host")
	c.AddText("port", "Port")
	c.AddBool("isOn", "启用")
	c.Generate()
}

func Starter() {
	c := maker.CreateTable("Starter", "启动器", "ctl")
	c.AddText("path", "目录")
	c.AddText("starter", "启动程序")
	c.AddText("params", "启动参数")
	c.AddInt("pid", "运行PID")
	c.AddDateTime("startAt", "启动时间")
	c.AddBool("isAuto", "自启动")
	c.Generate()
}
